/**
 * 主应用程序 - 协调器
 * 负责初始化各个管理器模块
 */
class App {
    constructor() {
        this.managers = {};
        this.init();
    }

    init() {
        // 等待DOM加载完成
        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', () => this.initializeManagers());
        } else {
            this.initializeManagers();
        }
    }

    initializeManagers() {
        // 初始化各个管理器（这些管理器已经在各自的文件中创建了全局实例）
        this.managers = {
            api: window.apiClient,
            tab: window.tabManager,
            search: window.searchManager,
            index: window.indexManager,
            directory: window.directoryManager,
            directoryTree: window.directoryTreeManager,
            system: window.systemManager,
            modal: window.modalManager
        };

        // 加载初始数据
        this.loadInitialData();
    }

    async loadInitialData() {
        // 加载系统状态
        if (this.managers.system) {
            await this.managers.system.refreshSystemInfo();
        }
    }

    getManager(name) {
        return this.managers[name];
    }
}

// 创建全局应用实例
window.app = new App();